Knowledge of a location of a mobile computing device can be useful in the event that the device is misplaced, as well as for providing location specific services to the mobile computing device. In some location-based techniques for mobile computing devices, the mobile computing device may utilize received signal strength indications (RSSI) fingerprinting to determine a location of the mobile computing device when general Global Positioning System (GPS) satellites are obscured or unreliable. These techniques may be inaccurate and inefficient, as the positioning signals that are used by a mobile computing device are typically based on RSSI measurements originating from WiFi Access Points (APs) that are sparsely distributed.
Accuracy can be improved by creating RSSI maps measured by a mobile computing device from multiple APs at a multiplicity of locations in a building, and later make this information available to another mobile computing device through a cloud based map-service (it could be stored locally, but not typically). A mobile computing device that wishes to know its location can then record the set of RSSI values at its current location (a vector of AP RSSIs) and ask the map-service to determine the position that best fits this vector. The service then provides the mobile computing device with an approximate map position in the building matching that vector. RSSI measurements in the 2.45 GHz band, however, can be less reliable due to interference from other mobile computing devices and radios, and radio frequency (RF) noise. Measurement reliability issues can be exacerbated further by multi-path interference from signal reflections that result in constructive and destructive interference, also known as Rayleigh fading, which, in turn, leads to RSSI measurements changing significantly when a mobile computing device moves only a few centimeters. RSSI mapping techniques typically have an accuracy of 10 meters, at best. Further, creating RSSI maps is very labor intensive, and the process must be repeated whenever objects in the environment are altered or moved.